# Documentation for {{appName}}

{{#generateApiDocs}}
    <a id="documentation-for-api-endpoints"></a>
    ## Documentation for API Endpoints

    All URIs are relative to *{{{basePath}}}*

    Class | Method | HTTP request | Description
    ------------ | ------------- | ------------- | -------------
    {{#apiInfo}}{{#apis}}{{#operations}}{{#operation}}*{{classname}}* | [**{{operationId}}**](Apis/{{apiDocPath}}{{classname}}.md#{{operationIdLowerCase}}) | **{{httpMethod}}** {{path}} | {{#summary}}{{{summary}}}{{/summary}}
    {{/operation}}{{/operations}}{{/apis}}{{/apiInfo}}
{{/generateApiDocs}}

{{#generateModelDocs}}
    <a id="documentation-for-models"></a>
    ## Documentation for Models

    {{#modelPackage}}
        {{#models}}{{#model}} - [{{{modelPackage}}}.{{{classname}}}](Models/{{modelDocPath}}{{{classname}}}.md)
        {{/model}}{{/models}}
    {{/modelPackage}}
    {{^modelPackage}}
        No model defined in this package
    {{/modelPackage}}
{{/generateModelDocs}}

<a id="documentation-for-authorization"></a>{{! TODO: optional documentation for authorization? }}
## Documentation for Authorization

{{^authMethods}}Endpoints do not require authorization.{{/authMethods}}
{{#hasAuthMethods}}Authentication schemes defined for the API:{{/hasAuthMethods}}
{{#authMethods}}
    <a id="{{name}}"></a>
    ### {{name}}

    {{#isApiKey}}- **Type**: API key
    - **API key parameter name**: {{keyParamName}}
    - **Location**: {{#isKeyInQuery}}URL query string{{/isKeyInQuery}}{{#isKeyInHeader}}HTTP header{{/isKeyInHeader}}
    {{/isApiKey}}
    {{#isBasicBasic}}- **Type**: HTTP basic authentication
    {{/isBasicBasic}}
    {{#isBasicBearer}}- **Type**: HTTP Bearer Token authentication{{#bearerFormat}} ({{{.}}}){{/bearerFormat}}
    {{/isBasicBearer}}
    {{#isHttpSignature}}- **Type**: HTTP signature authentication
    {{/isHttpSignature}}
    {{#isOAuth}}- **Type**: OAuth
    - **Flow**: {{flow}}
    - **Authorization URL**: {{authorizationUrl}}
    - **Scopes**: {{^scopes}}N/A{{/scopes}}
    {{#scopes}}  - {{scope}}: {{description}}
    {{/scopes}}
    {{/isOAuth}}
    {{#isOpenId}}- **Type**: OpenIDConnect
    - **Connect URL**: {{{openIdConnectUrl}}}
    - **Bearer Format**: {{{bearerFormat}}}
    {{/isOpenId}}

{{/authMethods}}
